import java.util.Scanner;
import java.util.Stack;
import java.util.Arrays;

public class BigInteger {
	// 調整字串長度至相等
	public static char[] revision(String main, String compare) {
		int different = Math.abs(main.length() - compare.length());
		String toFillTheString = "";
		
		if(main.length() >= compare.length()) {
			return main.toCharArray();
		} else {
			 for(int i = 0; i < different; i++)
			 	{ toFillTheString += "0"; }
			 main = toFillTheString + main;
			 
			 return main.toCharArray();
		}
	}
	// 運算處理
	public static String calculator(char[] operand1, char[] operand2, char operator) {
		String tempResult = "";
		
		// '+'
		if(operator == '+') {
			int tempOperand;
			int a, b;
			boolean carry = false;
			
			for(int i = operand1.length - 1; i >= 0; i--) {
				a = Integer.parseInt(Character.toString(operand1[i]));
				b = Integer.parseInt(Character.toString(operand2[i]));
				tempOperand = (a + b);
				
				if(carry)
					{ tempOperand ++; }
				
				if(tempOperand < 10) {
					tempResult += Integer.toString(tempOperand);
					carry = false;
				} else {
					tempResult += Integer.toString((tempOperand % 10));
					carry = true;
				}
			}
			
			if(carry)
				{ tempResult += "1"; }
		}
		// '-'
		else if(operator == '-') {
			int tempOperand;
			int a, b;
			boolean chop = false;
			
			for(int i = operand1.length - 1; i >= 0; i --) {
				a = Integer.parseInt(Character.toString(operand1[i]));
				b = Integer.parseInt(Character.toString(operand2[i]));
				tempOperand = (a - b);
				
				if(chop)
					{ tempOperand --;}
				
				if(tempOperand > (-1)) {
					tempResult += Integer.toString(tempOperand);
					chop = false;
				} else {
					tempResult += Integer.toString((10 + tempOperand));
					chop = true;
				}
			}
			
			// 大負整數
			if(chop) {
				String tempResultCarry = "1";
				for(int i = 0; i < tempResult.length(); i++)
					{ tempResultCarry += "0"; }
				
				tempResult = result(tempResultCarry, reverse(tempResult), "-");
				tempResult = (tempResult.substring(0, tempResult.length() - 1) + "-");
			}
		}
		// '*'
		else if(operator == '*') {
			int tempOperand;
			int a, b;
			boolean carry = false;
			String totalTempResult = "0";
			int carryNumber = 0;
			
			for(int i = operand1.length - 1; i >= 0; i--) {
				tempResult = "";
				carry = false;
				
				for(int k = i; k < operand1.length - 1; k++)
					{ tempResult += "0"; }
				
				for(int j = operand2.length - 1; j >= 0; j--) {
					a = Integer.parseInt(Character.toString(operand1[j]));
					b = Integer.parseInt(Character.toString(operand2[i]));
					tempOperand = (a * b);
					
					if(carry)
						{ tempOperand += carryNumber; }
					
					if(tempOperand < 10) {
						tempResult += Integer.toString(tempOperand);
						carry = false;
						carryNumber = 0;
					} else {
						tempResult += Integer.toString((tempOperand % 10));
						carry = true;
						carryNumber = (tempOperand / 10);
					}
				}
				
				if(carry)
					{ tempResult += Integer.toString(carryNumber); }
				
				tempResult = reverse(tempResult);
				totalTempResult = reverse(totalTempResult);
				totalTempResult = result(totalTempResult, tempResult, "+");
			}
			tempResult = totalTempResult;
			
			char[] resultRevision = tempResult.toCharArray();
			boolean startRevision = false;
			tempResult = "";
			for(int i = resultRevision.length - 1; i >= 0; i--) {
				if(resultRevision[i] != '0')
					{ startRevision = true; }
			
				if(resultRevision[i] == '0' && !(startRevision)) {
					continue;
				} else {
					tempResult += resultRevision[i];
				}
			}
			tempResult = reverse(tempResult);
		}
		// '/'
		else {
			String operand2String = "";
			boolean operand2StringRevision = false;
			for(char c : operand2) {
				if(c != '0')
					{ operand2StringRevision = true; }
				
				if(c == '0' && !(operand2StringRevision)) {
					continue;
				} else {
					operand2String += c;
				}
			}
			String quotient;
			String tempOperand = "";
			String checkOperand;
			
			for(int i = 0; i < operand1.length; i++) {
				tempOperand += operand1[i];

				for(int j = 0; j < 11; j++) {
					quotient = Integer.toString(j);
					checkOperand = reverse(result(operand2String, quotient, "*"));

					if( ((reverse(result(tempOperand, checkOperand, "-")).toCharArray()[0]) == '-') ) {
						quotient = Integer.toString((j - 1));
						checkOperand = reverse(result(operand2String, quotient, "*"));
						tempResult += quotient;
						tempOperand = reverse(result(tempOperand, checkOperand, "-"));
						
						break;
					} else {
						continue;
					}
				}
			}
			
			char[] resultRevision = tempResult.toCharArray();
			boolean startRevision = false;
			tempResult = "";
			for(char c : resultRevision) {
				if(c != '0')
					{ startRevision = true; }
				
				if(c == '0' && !(startRevision)) {
					continue;
				} else {
					tempResult += c;
				}
			}
			if(tempResult == "")
				{ tempResult = "0"; }
			tempResult = reverse(tempResult);
		}
		
		return tempResult;
	}
	// 運算結果
	public static String result(String operand1, String operand2,String operator) {
		String tempOutput = "";
		char operatorDetermine = (operator.toCharArray())[0];
		
		// 如果任何一運算原為0, 回傳0
		if(operatorDetermine == '/') {
			if(operand1.length() == 1 && (operand1.toCharArray()[0]) == '0') {
				return "0";
			}
			else if(operand2.length() == 1 && (operand2.toCharArray()[0]) == '0') {
				return reverse("無法除以0");
			}
		}
		
		if(operatorDetermine == '*') {
			if(operand1.length() == 1 && (operand1.toCharArray()[0]) == '0' || operand2.length() == 1 && (operand2.toCharArray()[0]) == '0')
				{ return "0"; }
		}
		
		tempOutput = calculator(revision(operand1, operand2), revision(operand2, operand1), operatorDetermine);
		
		return tempOutput;
	}
	public static String reverse(String output) {
		Stack<Character> reverseOutput = new Stack<Character> ();
		
		char[] tempOutput = output.toCharArray();
		for(char c : tempOutput)
			{ reverseOutput.push(c); }
		output = "";
		while(!(reverseOutput.isEmpty()))
			{ output += reverseOutput.pop(); }
		
		return output;
	}
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		String input, output;
		String[] spInput;
		String operand1, operand2, operator;
		
		while(sc.hasNext()) {
			input = sc.nextLine();
			spInput = input.split(" ");
			operand1 = spInput[0];
			operand2 = spInput[2];
			operator = spInput[1];
			
			output = reverse(result(operand1, operand2, operator));
			
			System.out.println(output);
		}
	}
}